docs(mcp): align six documents to T-052 — close COH-006/COH-007, GAP-020; correct GAP-004 - #109
Merged
Merged
Conversation
…020; unblock GAP-004's truth Started as GAP-020 bookkeeping and turned into three rows that were lying, found by extending the coherence guard to a fourth check. GAP-020 — closed. Two of the four asks shipped in #108. Content validation is WITHDRAWN by product direction (2026-08-02): T-056 rules, so the Tracker offers the canonical shape and never enforces it, and the schema document now says so as a ratified decision rather than an omission. Tenant-aware persistence is handed to GAP-004: without validation a cache has no consumer, and the version that matters is syncing the catalog from the Core, which is the IPhaseArtifactProfileSource seam GAP-004 owns. COH-006 / COH-007 — closed by fixing the DOCUMENTS, not by building tools. Both rows claimed tracker-gateway exposes 6/6 Tracker MCP tools. It does not, and its controller says so: the Core remains the single agent-facing MCP server, this is a client of it. History: built (c5f3a50), rebound to the BFF (293e3de, T-051), DELETED (614ddff) when T-052 made the Core's evolith-mcp the single surface. So the original finding was live again in its own terms — documents promising a surface that does not exist — with a different remedy. Six documents aligned: PRD 5.3 (EN+ES) rewritten with where each capability is served now, the local-dev guide (EN+ES) whose smoke command pointed at a 404, and banners on ux-concept, blueprint and tracker-agent-assignment-api. Text kept rather than deleted: the capabilities are real and served by the BFF; only the transport is gone. GAP-004 — corrected to BLOCKED, matching the card that was right all along. It had been closed with 'Resolved via Defensive Isolation (Mocks)'. Installing a stand-in is not resolving a dependency, and the code agrees: the stand-in is still the only implementation and every profile it serves is stamped core-standin. The guard now contrasts row against card inside the register — 3 of 108 disagreed, all three with the row claiming closure. Three new tests; the new check goes red when disabled, verified by disabling it.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Started as GAP-020 bookkeeping. Extending the coherence guard to a fourth check found three rows lying inside the register itself — the row said
RESOLVED, its own detail card saidBLOCKED, and in all three the card was right.GAP-020 — closed
Two of the four asks shipped in #108. The other two are settled by decision:
T-056rules — content validation is the tenant's configuration, not engine code. The schema document now records this as a ratified decision, so a future reader treats wiring validation as a decision to reverse rather than a gap to fill.IPhaseArtifactProfileSourceseam GAP-004 already owns. Recorded as a handover so the residue has an owner instead of evaporating.COH-006 / COH-007 — closed by fixing the documents, not by building tools
Both rows claimed
tracker-gatewayexposes 6/6 Tracker MCP tools. It does not, and its own controller says so: "The Core remains the single agent-facing MCP server; this is a client of it."The history explains it: built (
c5f3a50) → rebound to the BFF (293e3de, T-051) → deleted (614ddff) when T-052 made the Core'sevolith-mcpthe single agent-facing surface. So the original finding was live again in its own terms — documents promising a surface that does not exist — with a different remedy.Six documents aligned:
tracker_*tools as current — rewritten with where each capability is served nowLOCAL_DEV_WITH_K8S_CORE(EN+ES)curl -X POST /api/mcp/tracker_get_assignmenthits a 404ux-concept,blueprint,tracker-agent-assignment-api(EN+ES)Text kept rather than deleted: the capabilities are real and served by the
tracker-apiBFF — what disappeared is the transport.GAP-004 — corrected to BLOCKED
It had been closed with the note "Resolved via Defensive Isolation (Mocks)". Installing a stand-in is not resolving a dependency. The code agrees with the card:
StandInPhaseArtifactProfileSourceis still the only implementation, every profile is stampedcore-standin, and the interface's own docs say a Core-sync implementation replaces it "when Evolith Core publishes the catalog (GAP-004 resolved)".The fourth check
The register repeats each status in two places — the table row and the detail card — and nothing compared them. 3 of 108 disagreed, all three with the row claiming closure. Three new tests (9 total); the new check goes red when disabled, verified by disabling it.
Board: 0 OPEN, 1 BLOCKED, 1 DEFERRED, 106 RESOLVED.
🤖 Generated with Claude Code